Ext.define('SistIntegral.RRHH.FrmPerona', {

    alias: "FrmCCostoPersona",
    forward: true,

    Formulario: function (btn) {

        var ComboNacionalidad = new SistIntegral.Componentes.Objetos().ComboNacionalidad();
        var ComboTipoDI = new SistIntegral.Componentes.Objetos().ComboTipoDI();
        var ComboSexo = new SistIntegral.Componentes.Objetos().ComboSexo();
        var ComboEstadoCivil = new SistIntegral.Componentes.Objetos().ComboEstadoCivil();
        var ComboDiscapacidad = new SistIntegral.Componentes.Objetos().ComboDiscapacidad();
        var ComboBancoHaberes = new SistIntegral.Componentes.Objetos().ComboBancoHaberes();
        var ComboBancoCTS = new SistIntegral.Componentes.Objetos().ComboBancoCTS(btn);


        var StoreEstDelInvE = Ext.create('Ext.data.Store', {
            model: 'PersonalE',
            proxy: {
                type: 'ajax',
                url: 'personal/IndexByIdEdit/' + (btn.itemId == 'edit' ? btn.Seleccion.get('Id') : ''),
                reader: { type: 'json', root: 'grid' }
            }
        });

        StoreEstDelInvE.on('load', function (store, records) {
            Ext.getCmp('FrmPersonal').loadRecord(records[0]);

            Ext.getCmp('CmbNacionalidad').getStore().loadRecords(records);
            Ext.getCmp('CmbNacionalidad').setValue(records[0].get('IdNacionalidad'));

            Ext.getCmp('ComboTipoDI').getStore().loadRecords(records);
            Ext.getCmp('ComboTipoDI').setValue(records[0].get('IdTipoDI'));

            Ext.getCmp('CmbBancoHaberes').getStore().loadRecords(records);
            Ext.getCmp('CmbBancoHaberes').setValue(records[0].get('IdBancoHaberes'));

            Ext.getCmp('CmbBancoCTS').getStore().loadRecords(records);
            Ext.getCmp('CmbBancoCTS').setValue(records[0].get('IdBancoCTS'));

        });

        var Frm = Ext.create('Ext.form.Panel', {
            id: 'FrmPersonal',
            bodyPadding: '5',
            fieldDefaults: {
                msgTarget: 'side',
                labelAlign: 'right',
                labelWidth: 100,
                anchor: '100%'
                //margin: '5 5 5 5'
            },
            items: [{
                xtype: 'container',
                layout: 'hbox',
                margin: '0 0 0 0',
                items: [{
                    xtype: 'fieldset',
                    border: 0,
                    flex: 1,
                    items: [{
                        xtype: 'fieldset',
                        flex: 1,
                        title: 'Datos Personales',
                        layout: 'anchor',
                        defaults: {
                            anchor: '100%',
                            hideEmptyLabel: false
                        },
                        items: [{
                            xtype: 'textfield',
                            name: 'ApePaterno',
                            fieldLabel: 'Apellido Paterno',
                            allowBlank: false
                        }, {
                            xtype: 'textfield',
                            name: 'ApeMaterno',
                            fieldLabel: 'Apellido Materno',
                            allowBlank: false
                        }, {
                            xtype: 'textfield',
                            name: 'Nombres',
                            fieldLabel: 'Nombres',
                            allowBlank: false
                        }, ComboNacionalidad, {
                            xtype: 'textfield',
                            name: 'LugarNacimiento',
                            fieldLabel: 'Lugar Nacimiento',
                            allowBlank: false
                        }, ComboTipoDI, {
                            xtype: 'textfield',
                            name: 'NroDI',
                            fieldLabel: 'Nro Doc Ident',
                            decimalPrecision: 0,
                            maxLength: 8,
                            minLength: 8,
                            allowBlank: false
                        }, {
                            xtype: 'textfield',
                            name: 'Direccion',
                            fieldLabel: 'Direccion',
                            allowBlank: false
                        }, {
                            xtype: 'datefield',
                            anchor: '100%',
                            fieldLabel: 'Fecha Nacimiento',
                            name: 'FechaNacimiento',
                            allowBlank: false,
                            maxValue: new Date()
                        }, ComboSexo, ComboEstadoCivil, {
                            xtype: 'textfield',
                            name: 'EsSalud',
                            fieldLabel: 'Codigo ESSALUD',
                            allowBlank: true
                        }, {
                            xtype: 'textfield',
                            name: 'LicenciaConducir',
                            fieldLabel: 'Lic Conducir',
                            allowBlank: true
                        }, {
                            xtype: 'textfield',
                            name: 'TipoSangre',
                            fieldLabel: 'Grupo Sanguineo',
                            allowBlank: true
                        }, ComboDiscapacidad, {
                            xtype: 'filefield',
                            id: 'Archivofotox',
                            emptyText: 'SELECCIONE FOTO',
                            fieldLabel: 'Foto',
                            name: 'Archivofotox',
                            buttonText: '',
                            buttonConfig: {
                                iconCls: 'subirimagen'
                            }
                        }, {
                            xtype: 'filefield',
                            id: 'Archivogs',
                            emptyText: 'SELECCIONE ARCHIVO',
                            fieldLabel: 'Gr. Sanguineo',
                            name: 'Archivogs',
                            buttonText: '',
                            buttonConfig: {
                                iconCls: 'subirarchivo'
                            }
                        }]
                    }]
                },
        {
            xtype: 'fieldset',
            border: 0,
            flex: 1,
            //title: 'Individual Radios',
            defaultType: 'radio', // each item will be a radio button
            layout: 'anchor',
            defaults: {
                anchor: '100%',
                layout: 'hbox',
                hideEmptyLabel: false
            },
            items: [
            // Contact info
            {
            xtype: 'fieldset',
            title: 'Contacto Personal',
            defaultType: 'textfield',
            layout: 'anchor',
            defaults: {
                anchor: '100%'
            },
            items: [{
                name: 'Telefonocasa',
                fieldLabel: 'Telefono',
                allowBlank: true
            }, {
                name: 'Celularpersonal',
                fieldLabel: 'Celular',
                allowBlank: true
            }, {
                fieldLabel: 'Email',
                name: 'Emailpersonal',
                vtype: 'email',
                allowBlank: true
            }]
        },

        // Mailing Address
            {
            xtype: 'fieldset',
            title: 'Contacto Institucional',
            defaultType: 'textfield',
            layout: 'anchor',
            defaults: {
                anchor: '100%'
            },
            items: [{
                name: 'TelefenosIns',
                fieldLabel: 'Telefonos',
                allowBlank: true
            }, {
                name: 'Fotocheck',
                fieldLabel: 'Fotocheck',
                allowBlank: true
            }, {
                fieldLabel: 'Email',
                name: 'EmailCoorporativo',
                vtype: 'email',
                allowBlank: true
            }]
        },

        // Billing Address
            {
            xtype: 'fieldset',
            title: 'Contacto de Emergengia',
            layout: 'anchor',
            defaultType: 'textfield',
            defaults: {
                anchor: '100%'
            },
            items: [{
                name: 'ContactoEmergencia',
                fieldLabel: 'Nombre',
                allowBlank: true
            }, {
                name: 'TelefonoContacto',
                fieldLabel: 'Telefonos',
                allowBlank: true
            }]
        },

        // Credit card info
            {
            xtype: 'fieldset',
            title: 'Cuentas',
            layout: 'anchor',
            defaults: {
                anchor: '100%'
            },
            items: [ComboBancoHaberes, {
                xtype: 'textfield',
                name: 'CtaHaberes',
                fieldLabel: 'Cuenta Haberes',
                allowBlank: true
            }, ComboBancoCTS, {
                xtype: 'textfield',
                name: 'CtaCTS',
                fieldLabel: 'Cuenta CTS',
                allowBlank: true
            }]
        }
        ]
    }]
            }],

            buttons: [{
                text: 'Guardar', iconCls: 'guardar',
                handler: function () {
                    var form = this.up('form').getForm();
                    if (form.isValid()) {
                        form.submit({
                            submitEmptyText: false,
                            url: btn.hrefTarget + (btn.itemId == 'edit' ? btn.Seleccion.get('Id') : ''),
                            success: function (form, action) {
                                //console.log(action);
                                Ext.getCmp('images-view').getStore().load();
                                Ext.getCmp('WPersonal').close();
                                Ext.MessageBox.show({
                                    msg: 'Personal Creado Correctamente...',
                                    progressText: 'Actualizando...',
                                    width: 300,
                                    icon: 'ext-mb-download'
                                });
                                setTimeout(function () {
                                    Ext.MessageBox.hide();
                                }, 1000);
                            },
                            failure: function (form, action) {
                                console.log(action);
                                //Ext.getCmp('images-view').getStore().load();
                                //Ext.getCmp('WPersonal').close();
                                Ext.Msg.alert('Error', action.result.msg);
                            }
                        });
                    }
                }
            }, {
                text: 'Limpiar', iconCls: 'limpiar',
                handler: function () {
                    this.up('form').getForm().reset();
                }
            }]
        });
        if (btn.itemId == 'edit') { StoreEstDelInvE.load(); }
        return Frm;
    },

    Window: function (btn) {
        var Seleccion;
        //alert("ok");
        //Ext.Ajax.request({
        //    url: 'contratoadenda/ComprobarSueldo/'+btn.IdPersonal,
        //    success: function (httpReq) {
        //        var textRes = httpReq.responseText;
        //        var vector = textRes.split("#");
        //        if (vector[0] != '0') {
        //        btn.sueldo = vector[0];
        //        //btn.idejerciciomes = vector[2];
        //        }
        //    }
        //});

        if (btn.itemId == 'edit') {
            Seleccion = Ext.getCmp('images-view').getSelectionModel().getSelection()[0];
            if (!Seleccion) {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Persona a Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
                return false;
            }
            else {
                //alert(Seleccion.get('Id'))
                btn.Seleccion = Seleccion
            }
        }

        var Item = this.Formulario(btn);

        var win = Ext.create('widget.window', {
            id: 'WPersonal',
            title: btn.getText() + ' Personal',
            closable: true,
            //autoScroll:true,
            //bodyPadding:'5',
            border: false,
            width: 700,
            minWidth: 600,
            height: 600,
            layout: 'fit',
            modal: true,
            items: [Item]
        });

        return win.show();
    }
});